用两个栈实现队列

用两个栈实现队列

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

思路
代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const inStack = []
const outStack = []
//123456
//入栈【123456】先出6,先入1
//入队【123456】先出1,后出6
//用栈模拟队列,那么出队列相当于用入的栈一个一个出栈进入出的栈,
function push(node) {
inStack.push(node)
}
function pop() {
if(!outStack.length){
while(inStack.length){
outStack.push(inStack.pop())
}
}
return outStack.pop()
}